package com.example.springbootv1.mapper;

import com.example.springbootv1.pojo.Bills;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface BillsMapper {
    /**
     * 查询列表
     * @return 对象列表
     */
    public List<Bills> getList();
    /**
     * 通过Id查询
     * @param id Id
     * @return 对象
     */
    public Bills queryById(Long id);
    /**
     * 新增数据
     * @return 影响行数
     */
    public int insert(Bills bills);

    /**
     * 更新数据
     * @param bills 对象
     * @return 影响行数
     */
    public int update(Bills bills);

    /**
     * 删除日志
     * @param id ID
     * @return 影响行数
     */
    public int deleteById(Long id);

    /**
     * 登录验证    多个参数传递到XML里面的方法
     * @return 日志对象
     */
    Bills login(@Param("name") String name, @Param("charType") String charType);


    // 条件查询

    /**
     * 条件查询，搜索，模糊匹配，倒叙id输出
     * @return
     */
    List<Bills> getObjByObj(Bills bills);

    /**
     * 分页查询
     * @param  bills 对象
     * @return 分页对象列表
     */
    List<Bills> getByFenYe(Bills bills);

    /**
     * 批量删除
     * @param ids 对象id列表
     * @return 影响行数
     */
    int deleteBatch(List<Long> ids);

    /**
     * 分页总记录数
     * @param bills
     * @return
     */
    int getByFenYeCount(Bills bills);
}
